package entity;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "ItemsNotaDevolucion")
public class ItemDevolucionBD {

	@EmbeddedId
	private ItemDevolucionID pkItemDevolucion;

	@Embedded
	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "idProducto")
	private InsumoBD insumo;

	private Integer cantidad;

	public ItemDevolucionBD() {
	}

	public void setIdNotaDevolucion(Integer idNotaDevolucion) {
		this.pkItemDevolucion.setIdNotaDevolucion(idNotaDevolucion);
	}

	public InsumoBD getInsumo() {
		return insumo;
	}

	public void setInsumo(InsumoBD insumo) {
		this.insumo = insumo;
	}

	public void setPkItemDevolucion(ItemDevolucionID pkItemDevolucion) {
		this.pkItemDevolucion = pkItemDevolucion;
	}

	public ItemDevolucionID getPkItemDevolucion() {
		return pkItemDevolucion;
	}

	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}

	public Integer getCantidad() {
		return cantidad;
	}
}

@Embeddable
class ItemDevolucionID implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer numero;
	private Integer renglon;

	public ItemDevolucionID() {
	}

	public Integer getIdNotaDevolucion() {
		return numero;
	}

	public void setIdNotaDevolucion(Integer idNotaDevolucion) {
		this.numero = idNotaDevolucion;
	}

	public Integer getIdItemDevolucion() {
		return renglon;
	}

	public void setIdItemDevolucion(Integer idItemDevolucion) {
		this.renglon = idItemDevolucion;
	}

}
